package com.ruoyi.oa.service;

import com.ruoyi.oa.domain.OaHumanLeave;
import com.ruoyi.oa.domain.vo.OaHumanLeaveVo;
import com.ruoyi.oa.domain.bo.OaHumanLeaveBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.oa.domain.vo.OaProjectVo;

import java.util.Collection;
import java.util.List;

/**
 * 请假申请Service接口
 *
 * @author ruoyi
 * @date 2023-08-08
 */
public interface IOaHumanLeaveService {

    /**
     * 查询请假申请
     */
    OaHumanLeaveVo queryById(String id);

    /**
     * 查询请假申请列表
     */
    TableDataInfo<OaHumanLeaveVo> queryPageList(OaHumanLeaveBo bo, PageQuery pageQuery);

    /**
     * 查询请假申请列表
     */
    List<OaHumanLeaveVo> queryList(OaHumanLeaveBo bo);

    /**
     * 新增请假申请
     */
     OaHumanLeaveBo insertByBo(OaHumanLeaveBo bo);

    /**
     * 修改请假申请
     */
    OaHumanLeave updateByBo(OaHumanLeaveBo bo);

    /**
     * 校验并批量删除请假申请信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);


    /**
     * 将请假数据同步回去
     * @param id
     */
    public void sysLeaveToClockCount(String id);
}
